home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 426-450 / disk_432 / apalasm / examples / barrelroll.pal < prev    next >
Text File  |  1992-05-06  |  5KB  |  122 lines

  1. PAL20R8                                          PAL DESIGN SPECIFICATION
  2. P7095                                            VINCENT COLI 09/10/82
  3. OCTAL REGISTERED BARREL SHIFTER
  4. MMI SUNNYVALE, CALIFORNIA
  5. CLK I0 D0 D1 D2 D3 D4 D5 D6 D7 /E  GND
  6. /OC I1 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 I2  VCC
  7. ;pinlist 1 to 24 must start in line 5
  8.  
  9. ;equations go here
  10.  
  11. /Q0 := /E*/I2*/I1*/I0*/D0     ;shift 0 places
  12.      + /E*/I2*/I1* I0*/D1     ;shift 1 places
  13.      + /E*/I2* I1*/I0*/D2     ;shift 2 places
  14.      + /E*/I2* I1* I0*/D3     ;shift 3 places
  15.      + /E* I2*/I1*/I0*/D4     ;shift 4 places
  16.      + /E* I2*/I1* I0*/D5     ;shift 5 places
  17.      + /E* I2* I1*/I0*/D6     ;shift 6 places
  18.      + /E* I2* I1* I0*/D7     ;shift 7 places
  19.  
  20. /Q1 := /E*/I2*/I1*/I0*/D1     ;shift 0 places
  21.      + /E*/I2*/I1* I0*/D2     ;shift 1 places
  22.      + /E*/I2* I1*/I0*/D3     ;shift 2 places
  23.      + /E*/I2* I1* I0*/D4     ;shift 3 places
  24.      + /E* I2*/I1*/I0*/D5     ;shift 4 places
  25.      + /E* I2*/I1* I0*/D6     ;shift 5 places
  26.      + /E* I2* I1*/I0*/D7     ;shift 6 places
  27.      + /E* I2* I1* I0*/D0     ;shift 7 places
  28.  
  29. /Q2 := /E*/I2*/I1*/I0*/D2     ;shift 0 places
  30.      + /E*/I2*/I1* I0*/D3     ;shift 1 places
  31.      + /E*/I2* I1*/I0*/D4    ;shift 2 places
  32.      + /E*/I2* I1* I0*/D5     ;shift 3 places
  33.      + /E* I2*/I1*/I0*/D6     ;shift 4 places
  34.      + /E* I2*/I1* I0*/D7     ;shift 5 places
  35.      + /E* I2* I1*/I0*/D0     ;shift 6 places
  36.      + /E* I2* I1* I0*/D1     ;shift 7 places
  37.  
  38. /Q3 := /E*/I2*/I1*/I0*/D3     ;shift 0 places
  39.      + /E*/I2*/I1* I0*/D4     ;shift 1 places
  40.      + /E*/I2* I1*/I0*/D5     ;shift 2 places
  41.      + /E*/I2* I1* I0*/D6     ;shift 3 places
  42.      + /E* I2*/I1*/I0*/D7     ;shift 4 places
  43.      + /E* I2*/I1* I0*/D0     ;shift 5 places
  44.      + /E* I2* I1*/I0*/D1     ;shift 6 places
  45.      + /E* I2* I1* I0*/D2     ;shift 7 places
  46.  
  47. /Q4 := /E*/I2*/I1*/I0*/D4     ;shift 0 places
  48.      + /E*/I2*/I1* I0*/D5     ;shift 1 places
  49.      + /E*/I2* I1*/I0*/D6     ;shift 2 places
  50.      + /E*/I2* I1* I0*/D7     ;shift 3 places
  51.      + /E* I2*/I1*/I0*/D0     ;shift 4 places
  52.      + /E* I2*/I1* I0*/D1     ;shift 5 places
  53.      + /E* I2* I1*/I0*/D2     ;shift 6 places
  54.      + /E* I2* I1* I0*/D3     ;shift 7 places
  55.  
  56. /Q5 := /E*/I2*/I1*/I0*/D5     ;shift 0 places
  57.      + /E*/I2*/I1* I0*/D6     ;shift 1 places
  58.      + /E*/I2* I1*/I0*/D7     ;shift 2 places
  59.      + /E*/I2* I1* I0*/D0     ;shift 3 places
  60.      + /E* I2*/I1*/I0*/D1     ;shift 4 places
  61.      + /E* I2*/I1* I0*/D2     ;shift 5 places
  62.      + /E* I2* I1*/I0*/D3     ;shift 6 places
  63.      + /E* I2* I1* I0*/D4     ;shift 7 places
  64.  
  65. /Q6 := /E*/I2*/I1*/I0*/D6     ;shift 0 places
  66.      + /E*/I2*/I1* I0*/D7     ;shift 1 places
  67.      + /E*/I2* I1*/I0*/D0     ;shift 2 places
  68.      + /E*/I2* I1* I0*/D1     ;shift 3 places
  69.      + /E* I2*/I1*/I0*/D2     ;shift 4 places
  70.      + /E* I2*/I1* I0*/D3     ;shift 5 places
  71.      + /E* I2* I1*/I0*/D4     ;shift 6 places
  72.      + /E* I2* I1* I0*/D5     ;shift 7 places
  73.  
  74. /Q7 := /E*/I2*/I1*/I0*/D7     ;shift 0 places
  75.      + /E*/I2*/I1* I0*/D0     ;shift 1 places
  76.      + /E*/I2* I1*/I0*/D1     ;shift 2 places
  77.      + /E*/I2* I1* I0*/D2     ;shift 3 places
  78.      + /E* I2*/I1*/I0*/D3     ;shift 4 places
  79.      + /E* I2*/I1* I0*/D4     ;shift 5 places
  80.      + /E* I2* I1*/I0*/D5     ;shift 6 places
  81.      + /E* I2* I1* I0*/D6     ;shift 7 places
  82.  
  83.  
  84. ; function table vectors go here
  85.  
  86. FUNCTION TABLE
  87.  
  88. CLK /OC E I2 I1 I0 D7 D6 D5 D4 D3 D2 D1 D0 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0
  89.  
  90. ;function table pin list
  91. ;CHIP CONTROL III   DDDDDDDD   QQQQQQQQ
  92. ;CLK /OC /E   210   76543210   76543210      COMMENTS
  93. -------------------------------------------------------------------------
  94.   C   L   L   LLL   HLLLLLLL   HLLLLLLL      BARREL SHIFT ONE H 0 PLACES
  95.   C   L   L   LLH   HLLLLLLL   LHLLLLLL      BARREL SHIFT ONE H 1 PLACES
  96.   C   L   L   LHL   HLLLLLLL   LLHLLLLL      BARREL SHIFT ONE H 2 PLACES
  97.   C   L   L   LHH   HLLLLLLL   LLLHLLLL      BARREL SHIFT ONE H 3 PLACES
  98.   C   L   L   HLL   HLLLLLLL   LLLLHLLL      BARREL SHIFT ONE H 4 PLACES
  99.   C   L   L   HLH   HLLLLLLL   LLLLLHLL      BARREL SHIFT ONE H 5 PLACES
  100.   C   L   L   HHL   HLLLLLLL   LLLLLLHL      BARREL SHIFT ONE H 6 PLACES
  101.   C   L   L   HHH   HLLLLLLL   LLLLLLLH      BARREL SHIFT ONE H 7 PLACES
  102.   C   L   L   LLL   LHHHHHHH   LHHHHHHH      BARREL SHIFT ONE L 0 PLACES
  103.   C   L   L   LLH   LHHHHHHH   HLHHHHHH      BARREL SHIFT ONE L 1 PLACES
  104.   C   L   L   LHL   LHHHHHHH   HHLHHHHH      BARREL SHIFT ONE L 2 PLACES
  105.   C   L   L   LHH   LHHHHHHH   HHHLHHHH      BARREL SHIFT ONE L 3 PLACES
  106.   C   L   L   HLL   LHHHHHHH   HHHHLHHH      BARREL SHIFT ONE L 4 PLACES
  107.   C   L   L   HLH   LHHHHHHH   HHHHHLHH      BARREL SHIFT ONE L 5 PLACES
  108.   C   L   L   HHL   LHHHHHHH   HHHHHHLH      BARREL SHIFT ONE L 6 PLACES
  109.   C   L   L   HHH   LHHHHHHH   HHHHHHHL      BARREL SHIFT ONE L 7 PLACES
  110.   C   L   H   XXX   XXXXXXXX   XXXXXXXX      PRESET (/E = H)
  111.   X   H   X   XXX   XXXXXXXX   ZZZZZZZZ      TEST HI-Z
  112. -------------------------------------------------------------------------
  113. DESCRIPTION
  114.  
  115. The octal registered barrel shifter will shift eight bits of data (D7-0)
  116. a number of locations into the output registers (Q7-0) as specified by
  117. the binary encoded input (I2-0) synchronous with the clock input (CLK) 
  118. and providing the enable pin is true (/E = low). The output register will
  119. be preset to all highs when enable is false (/E = high). The three-state
  120. outputs are high-z when the output control line (/OC) is low.
  121.  
  122.